package spoon.core.service;

import java.net.HttpURLConnection;

import org.jsoup.select.Elements;

public interface HttpService {
	
	/**
	 * Url을 HttpURLConnection으로 바꿔 준다.
	 * 
	 * @param urlString
	 * @return
	 */
	HttpURLConnection getUrlConnection(String urlString);

	/**
	 * url주소의 html 소스를 가져온다.
	 * 
	 * @param url
	 * @return
	 */
	String getSource(String url);
	
	/**
	 * parameter를 포함한 connection에 대응하는 html 소스를 가져온다.
	 * 
	 * @param url
	 * @param params
	 * @return
	 */
	String getSource(String url, String params);
	
	/**
	 * connection에 대응하는 html 소스를 가져온다.
	 * 
	 * @param connection
	 * @return
	 */
	String getSource(HttpURLConnection connection);

	
	/**
	 * html elements 를 jquery selector 형태로 가져온다.
	 * 
	 * @param url
	 * @param selector
	 * @return
	 */
	Elements getElements(String url, String selector);
	
	/**
	 * javascript를 가져온다.
	 * 
	 * @param src
	 * @return
	 */
	String getJavascript(String src);
	
}
